home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / trueSpace 7.6 / tS761B8Std.exe / {app} / Scripts / MaterialEditor / BricksHidden / DirectPS_Shadow.Brick.xml < prev    next >
Extensible Markup Language  |  2008-06-10  |  2KB  |  27 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <ME_BRICK GUID="{CC5C3F2B-EE6A-4034-A2BD-B9195312709A}" Name="RtUDirlightPS2Shadow" GUIName="Shadowed dirlight-Pixel2" Description="Shadowed dirlight pixel 2 shader part">
  3.     <ME_BRICK_INPUTPARAM GUID="{31526A0C-6A8C-4AD3-AF1B-46020BD87FFC}" Name="SpotTexture" Type="RtSampler2D"/>
  4.     <ME_BRICK_INPUTPARAM GUID="{6B222718-3C49-4E2C-8D2A-81853D79B3AE}" Name="ColorTone" Type="RtFloat4"/>
  5.     <ME_BRICK_INPUTPARAM GUID="{2FA0687A-1DC2-40D1-B22A-049DF9DC5BEC}" Name="VSLightColor" Type="RtFloat4"/>
  6.     <ME_BRICK_INPUTPARAM GUID="{7A2AF1DB-DAF0-4D94-BAF1-C848CCC464DC}" Name="DepthTexture" Type="RtSampler2D"/>
  7.     <ME_BRICK_OUTPUTPARAM GUID="{DA1ED699-4FAC-4BDE-AD73-10AE55290C91}" Name="LightColor" Type="RtFloat4"/>
  8.     <ME_BRICK_CODE><![CDATA[
  9.     //The Dirlight PS method
  10.     void RtUDirlightPS2Shadow(in RtSampler2D SpotTexture, in RtFloat4 ColorTone, in RtFloat4 VSLightColor,  
  11.                               in RtSampler2D DepthTexture, 
  12.                               out RtFloat4 LightColor)
  13.     {
  14.         if (VSLightColor.z<0)
  15.             LightColor = float4(0,0,0,0);
  16.         else {
  17.             float fCurrDepth = VSLightColor.z / VSLightColor.w;
  18.             float4 vMapColor = rtx_Tex2D(SpotTexture, saturate(VSLightColor)) * ColorTone;
  19.             float4 vShadow = rtx_Tex2D(DepthTexture, saturate(VSLightColor));
  20.             float4 vTmp = float4(1.0f, 1.0f/256.0f, 1.0f/256.0f/256.0f, 1.0f/256.0f);
  21.             float fMapDepth = rtx_Dot(vShadow, vTmp);       //A clever way to sum four numbers
  22.             LightColor = (fCurrDepth <= fMapDepth) ? vMapColor : float4(0,0,0,0);
  23.         }
  24.     }
  25.     ]]></ME_BRICK_CODE>
  26. </ME_BRICK>
  27.